//TIEMPOS DE ACTUALIZACIONES
var refreshTimerTimeOut = 1000;
var refreshAllTorneoDataTimeOut = 15000;
var refreshPremiosTimeOut = 5000;

//VARIABLES LOCALES A UTILIZAR
var tiempo_anterior = -1;
var porcentaje = 0;

//VARIABLES DE CONTROL DE PAGINADO DE PREMIOS
var pagTotal= 0;
var pagActual = 0;
var pagLapso = 5;

//VARIABLES DE AUDIO
var audioStart= document.createElement('audio');
audioStart.setAttribute('src', '../../resources/audio/clockStart.mp3');
var audioStep= document.createElement('audio');
audioStep.setAttribute('src', '../../resources/audio/clockStep.mp3');
var audioStep1= document.createElement('audio');
audioStep1.setAttribute('src', '../../resources/audio/clockStep_1.mp3');

$(document).ready(function() {
    refreshAllTorneoData();
    refreshCiegas();
    refreshTiempos();
    refreshTimer();
    refreshPremios();
});


// ------------------------------------------------------------
//              TIMER PRINCIPAL, CIEGAS, TIEMPOS
// ------------------------------------------------------------

// VERIFICA SI EXISTE ALGUN TORNEO PARA LA TERMINAL
function refreshTimer() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_TIME",
        success: function(data) {
            setTimeout('refreshTimer()', refreshTimerTimeOut);
            var d = data.split("~");
            var ahora = parseInt(d[0]);
            
            //SI EL TIEMPO ANTERIOR es MENOR QUE EL ACUTAL REFRESCA CIEGAS
            if (d[2]==='C') {
                refreshCiegas();
                audioStart.play();
            }
            
            //ACTUALIZA EL CLOCK Y LA BARRA DE PROGRESO
            var min = Math.floor(ahora / 60);
            var seg = ahora - min * 60;
            $('#timer').html(((min < 10) ? "0"+min : min) + ":" + ((seg < 10) ? "0"+seg : seg));
            refreshProgressBar(parseInt(d[1]));
            
            //ACTUALIZA EL DIV ESTADO
            $('#estado').html((d[2]=='B')?'DESCANSO'+((d[3]=='P')?' - EN PAUSA':''):((d[3]=='P')?'PAUSADO':((d[3]=='F')?'FINALIZADO':'')));

            //SI EL SEGUNDO ES CERO LLAMA A ACTUALIZAR LOS TIEMPOS
            if(tiempo_anterior != ahora) {
                if(seg == 0) {
                    refreshTiempos();
                }
                
                //REPRODUCE SONIDOS
                if(ahora == 1 || ahora == 3 || ahora == 5){
                    audioStep.play();
                } else if(ahora == 2 || ahora == 4){
                    audioStep1.play();
                }

//                if(ahora <= 10) {
//                    if(ahora%2 == 0){
//                        audioStep.play();
//                    }
//                }
            }
            tiempo_anterior = ahora;            
        }
    });
}


function refreshProgressBar(porcentaje) {
    var limiteVerde = 50;
    var limiteNaranja = 25;
    var porc = porcentaje+"%";
    
    //CAMBIA EL TAMAÑO Y LUEGO EL COLOR
    if(porcentaje < limiteNaranja) {
        if ( !$('#progreso').hasClass('progress-bar-danger') ) {
            $('#progreso').removeClass('progress-bar-warning progress-bar-success').addClass('progress-bar-danger');
        }
    
    } else if(porcentaje < limiteVerde) {
        if ( !$('#progreso').hasClass('progress-bar-warning') ) {
            $('#progreso').removeClass('progress-bar-danger progress-bar-success').addClass('progress-bar-warning');
        }
        
    } else {
        if ( !$('#progreso').hasClass('progress-bar-success') ) {
              $('#progreso').removeClass('progress-bar-danger progress-bar-warning').addClass('progress-bar-success');
        }
    }
    $('#progreso').width(porc);
}


function refreshCiegas() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_CIEGAS",
        success: function(data) {
             if (data) {
                var d = data.split("~");
                $('#nivel').html(d[0]);
                $('#sb').html(d[1]);
                $('#bb').html(d[2]);
                $('#ante').html(d[3]);
                $('#sigCiegas').html(d[4]);
                $('#sigAnte').html(d[5]);
            }
        }
    });
}

// ACTUALIZA LOS CAMPOS DE TIEMPO TRANSCURRIDO Y SEIGUIENTE BREAK
function refreshTiempos() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_TIEMPOS",
        success: function(data) {
            if (data) {
                var d = data.split("~");
                $('#transcurrido').html(formatoHHMM(d[0], "down"));
                $('#descanso').html(formatoHHMM(d[1], "up"));
                //console.log(d[2]);
            }
        }
    });
}


// DEVUELVE EN FORMATO HH:MM LA CANTIDAD DE SEGUNDOS RECIBIDOS
function formatoHHMM(segundos, redondeo){
    var respuesta = "---";
    if(segundos>=0) {
        var hor = Math.floor(segundos / 3600);
        var min = 0;
        if(redondeo == 'up') {
            min = Math.ceil(segundos / 60) - hor * 60;
            if(min > 59) {
                hor = hor+1;
                min = 0;
            }
        } else {
            min = Math.floor(segundos / 60) - hor * 60;
        }
        respuesta = ((hor < 10) ? "0"+hor : hor) + ":" + ((min < 10) ? "0"+min : min);
    }
    return respuesta;
}


// -------------------------------------------
//              TORNEO DATA
// -------------------------------------------

function refreshAllTorneoData() {
    setTimeout('refreshAllTorneoData()', refreshAllTorneoDataTimeOut);
    refreshData();
    refreshCiegas();
    refreshPozo();
}



function refreshData() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_TORNEO_DATA",
        success: function(data) {
            if (data) {
                var d = data.split("~");
                $('#torneoNombre').html(d[0]);
                $('#inscriptos').html(d[1]);
                $('#concursantes').html(d[2]);
                $('#inscripcionNormal').html(d[3]);
                $('#inscripcionCombo').html(d[4]);                
                $('#puntosTotal').html(d[5]);
                $('#puntosPromedio').html(d[6]);
                $('#recompras').html(d[7]);
                $('#addons').html(d[8]);
            }
        }
    });
}


// -------------------------------------------
//              POZO Y PREMIOS
// -------------------------------------------
function refreshPozo(){
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_POZO",
        success: function(data) {
             $('#pozo').html(data);
        }
    });
}



//PREMIOS
function refreshPremios() {
    setTimeout('refreshPremios()', refreshPremiosTimeOut);
    if(pagActual <= pagTotal) {
        getPremios();
        pagActual++;
    } else {
        pagActual = 0;
    }
}


function getPremios() {
    $.ajax({
        type: 'POST',
        url: "./Fuentes/Controllers/ClockController.php",
        data: "accion=GET_PREMIOS&valor="+pagActual,
        success: function(data) {
            var d = data.split("~");
            pagTotal = d[1];
            $('#premios').html(d[0]);
        }
    });
    
}